import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
       //****List介绍****
        // List是一个接口，继承自Collection.
        // Collection 也是一个接口，该接口中规范了后序容器中的一些方法：
        // Iterable也是一个接口，表示实现该接口的类是可以诸葛元素进行遍历的

        //站在数据结构的角度来看List就是一个线性表，即n个具有相同类型元素的有限序列，该序列上可以执行增删查改以及变量等操作

        //常见接口介绍，List接口的使用 必须要实例化一个List的实现类

        List<Integer> list = new ArrayList<>();
        //ArrayList底层就是一个

        list.add(1);  //会把这个1放在ArrayList中
        System.out.println(list);
        //要想了解这些方法就必须了解数据结构


        //****ArrayList与顺序表****
        /*
            1.线性表
            2.顺序表
            3.ArrayList的简介
            4.ArrayList使用
            5.ArrayList的扩容机制
            6.扑克牌
        * */

        //***线性表***
        // 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构，
        // 常见的线性表：顺序表、链表、栈、队列...
        //线性表在逻辑上是线性结构，也就是说是连续的一条直线。但是在物理结构上并不一定是连续的，
        // 线性表在物理上存储时，通常以数组和链式结构的形式存储

        // 线性存储、顺序存储
        //***顺序表***
        //顺序表底层是一个数组
        // 使用一段物理地址连续的存储单元依次存储的

        //缺点：插入元素的时候，时间复杂度达到O(N),涉及到了移动元素。
        // 删除也是，也需要挪动元素
        //

    }
}